package com.hspedu.tankgame4;

import java.util.Vector;

public class EnemyTank extends Tank implements Runnable {
    Vector<Shot> shots = new Vector<>();
    boolean isLive = true;
    public EnemyTank(int x,int y,int direct){
        super(x,y,direct);
    }

    @Override
    public void run() {
        while (true){
            if(isLive && shots.size() == 0){
                Shot s = null;
                switch (getDirect()){
                    case 0:
                        s = new Shot(getX()+20,getY(),0);
                        break;
                    case 1:
                        s = new Shot(getX()+60,getY() + 20,1);
                        break;
                    case 2:
                        s = new Shot(getX()+20,getY()+60,0);

                        break;
                    case 3:
                        s = new Shot(getX()+20,getY(),0);
                        break;

                }
                shots.add(s);
                new Thread(s).start();
            }


            switch (getDirect()){
                case 0:
                    for(int i=0;i<30;i++){
                        if(getY()>0){
                            moveUp();
                        }

                        try{
                            Thread.sleep(50);
                        }catch(InterruptedException e){
                            e.printStackTrace();
                        }
                    }

                    break;
                case 1:
                    for(int i=0;i<30;i++){
                        if(getX()+60<1000){
                            moveRight();
                        }

                        try{
                            Thread.sleep(50);
                        }catch(InterruptedException e){
                            e.printStackTrace();
                        }
                    }
                    break;
                case 2:
                    for(int i=0;i<30;i++){
                        if(getY() + 60 < 750){
                            moveDown();
                        }

                        try{
                            Thread.sleep(50);
                        }catch(InterruptedException e){
                            e.printStackTrace();
                        }
                    }
                    break;
                case 3:
                    for(int i=0;i<30;i++){
                        if(getX() > 0){
                            moveLeft();
                        }

                        try{
                            Thread.sleep(50);
                        }catch(InterruptedException e){
                            e.printStackTrace();
                        }
                    }
                    break;
            }


            // 然后随机的改变坦克的方向0-3
            setDirect((int)(Math.random()*4));

            if(!isLive){
                break;
            }





        }

    }
}

